// 2013年版权归Go作者所有。版权所有。
// 此源代码的使用受BSD样式的约束
// 可以在许可证文件中找到的许可证。

// 此文件定义附加到各种函数的标志
// 和数据对象。编译器、汇编器和链接器必须
// 所有人都同意这些价值观。

package obj

const (
	// 不要分析已标记的例程。
	// None
	// 不推荐：未实现，请勿使用。
	NOPROF = 1

	// 链接器可以获得这些符号中的多个。会的
	// 选择一个要使用的副本。
	DUPOK = 2

	// 不要插入堆栈检查前导。
	NOSPLIT = 4

	// 将此数据放入只读部分。
	RODATA = 8

	// 此数据不包含指针。
	NOPTR = 16

	// 这是一个包装函数，不应视为
	// 默认情况下，禁用“恢复”或显示在回溯中。
	WRAPPER = 32

	// 此函数使用其传入的上下文寄存器。
	NEEDCTXT = 64

	// 当传递到objw.Global时，会导致在它创建的LSym上将Local设置为true。
	LOCAL = 128

	// 分配一个字的线程本地存储并存储从
	// 线程本地基到该变量中的线程本地存储。
	TLSBSS = 256

	// 不要插入为该函数分配堆栈帧的指令。
	// 仅对声明帧大小为0的函数有效。
	// TODO（mwhudson）：目前仅针对ppc64x实施。
	NOFRAME = 512

	// 函数可以调用reflect.Type.Method或reflect.Type.MethodByName。
	REFLECTMETHOD = 1024

	// 函数是调用堆栈的最外层帧。调用堆栈展开器
	// 应该在该功能处停止。
	TOPFRAME = 2048

	// 函数是一个ABI包装器。
	ABIWRAPPER = 4096
)
